package com.itheima.day24;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;

public class MapDemo03 {
    public static void main(String[] args) {
        //map的第二种遍历方式


        //1.创建Map集合的对象
        Map<String, String> map = new HashMap<>();

        //2.添加元素
        //键：人物的外号
        //值：人物的名字
        map.put("标枪选手", "马超");
        map.put("人物挂件", "明世隐");
        map.put("御龙骑士", "尹志平");

        //将一个个键值对对象装进set集合中
        //对于set集合，他的泛型是entry，而对于entry，他的泛型是string，string
        Set<Map.Entry<String, String>> entries = map.entrySet();
        //增强for循环
        for (Map.Entry<String, String> entry : entries) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"="+value);
        }

        //使用迭代器
//        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
//        while (iterator.hasNext())
//        {
//            Map.Entry<String, String> next = iterator.next();
//           // System.out.println(next);
//
//            String key = next.getKey();
//            String value = next.getValue();
//            System.out.println(key+"="+value);
//
//        }

//        //lambda表达式
//        entries.forEach(new Consumer<Map.Entry<String, String>>() {
//            @Override
//            public void accept(Map.Entry<String, String> stringStringEntry) {
//                //获取每一个键值对对象
//                //System.out.println(stringStringEntry);
//                String key = stringStringEntry.getKey();
//                String value = stringStringEntry.getValue();
//                System.out.println(key+"="+value);
//            }
//        });

    }
}
